package swingTest;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

/**
 * test setting JPanel's background
 * @author Wison Xu
 */
public class Background extends JFrame {

    private Dimension frameSize = new Dimension(600, 600);

    public Background() {
        this.setLayout(new BorderLayout());
        this.setSize(frameSize);

        JPanel panel = new JPanel() {
            @Override
            protected void paintComponent(Graphics g) {
                ImageIcon icon = new ImageIcon("images/menu_bg.jpg");
                Image img = icon.getImage();
                g.drawImage(img, 0, 0, icon.getIconWidth(), icon.getIconHeight(), icon.getImageObserver());

                // 细致渲染、绘制背景，可控制截取图片，显示于指定的JPanel位置
//              g.drawImage(img, 0, 0, frameSize.width, frameSize.height,
//                          0, 0, icon.getIconWidth(), icon.getIconHeight(), icon.getImageObserver());
            }
        };

        this.add(panel, BorderLayout.CENTER);
        this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        this.setVisible(true);
    }

}